1. Field of the Invention
The present invention relates to image scanning devices and in particular describes an architecture (methods and associated apparatus) for simplified control of an image scanning device connected to a computer system.
2. Description of Related Art
Peripheral I/O devices generally attach to a computer system via an interface adapter (often referred to as a host adapter). It is common that the interface adapter provides a standard signal and protocol such as Small Computer System Interface (SCSI), parallel, serial, or Hewlett-Packard Interface Bus (HPIB). In particular over such standard bus interfaces, peripheral devices often posses significant processing power for performing their respective I/O tasks in an optimal fashion. For example, disk drives often posses substantial buffering and processing power to permit the disk drive to optimally execute I/O requests by minimizing read/write head movement. Or, for example, printer peripheral devices may include significant processing power to permit interpretation of a printer command language (e.g., Hewlett-Packard PCL) for control of the printer operation.
Image scanning devices are computer peripheral devices which optically scan an image source (i.e., a photographic image or printed text document) to produce a digital representation of that image. There are a number of different types of scanners including, for example, flat-bed page scanners, sheet-fed page scanners, photographic image scanners, etc. All such devices share a common architecture in that the colors and shapes of the source image are converted to a digital representation. In a digital representation, the continuous image source is transformed into a two-dimensional array of picture elements (commonly referred to as "pixels" or more simply as "dots"). Each pixel includes digital (i.e., numeric) information describing the colors and intensity of that pixel. The digital information in the array of pixels visually appears to recreate the original image source. The image is therefore said to be digitized.
The digitized image resolution is commonly measured in pixels per inch (often referred to as dots per inch or DPI). The higher the image resolution, the better the quality of the image reproduction by the image scanner because the sharp boundaries between individual pixels is less visible to the naked eye. Mathematical, digital image processing techniques are frequently applied to the digitized image to improve the apparent image quality both in terms of color accuracy and resolution as well as smoothing of the harsh visual boundaries between pixels caused by the digital nature of the digitized stored image.
Image scanning devices, as presently known in the art, include significant processing power for purposes of controlling the image scanning operations, processing a complex command language, complex host communication protocols and medium, and for purposes of manipulating the digitized image. In particular, large amounts of memory may be required within present scanner controllers to perform SCSI protocol communication with a host system or for parallel port interfacing to a host system (often used in place of SCSI interfacing to allow simpler installation). Furthermore, the image processing capabilities of the scanner device require substantial processing capability and memory to perform relatively complex mathematical transformations of the image data. Still additional memory and processing power is utilized within present scanners to process rich, but often complex, command languages.
By contrast, relatively little processing power is required for the basic, real time operation of the scanner device and for transfer of the raw scanned image data devoid of special image processing and enhancement (i.e., the motion control of the image source or scanner optical assemblies).
Because of the relatively high computation performance and memory size required within controllers of present scanner devices, complexity and associated costs have remained relatively high in scanning devices. CPU's capable of providing the requisite mathematical image processing capability at the desired performance level are a costly component in the overall scanner costs. Memory devices also comprise a significant component in the cost and complexity of control devices within image scanners. It is therefore a problem in scanner devices to maintain a level of performance required to provide sophisticated command processing, host communications, and digital image processing while reducing the complexity and hence costs of scanning devices.